20 REM ORGANISMS EXIST IN THE FORM OF COUNTERS ON A CHECKERBOARD
30 REM EACH CELL HAS 8 NEIGHBORING CELLS, 4 ADJACENT ORTHOGONALLY, 4 ADJACENT DIAGONALLY.
40 REM THE RULES: 1. SURVIVORS. EVERY COUNTER WITH 2 OR 3 NEIGHBORING COUNTERS SURVIVES FOR THE NEXT GENERATION.2. DEATHS. EACH COUNTER WITH 4 OR MORE NEIGHBORS DIES FROM OVERPOPULATION. EVERY COUNTER WITH 1 OR < NEIGHBORS
50 REM DIES FROM ISOLATION. 3.BIRTHS. EACH EMPTY CELL ADJACENT TO EXACTLY 3 NEIGHBORS IS A BIRTH CELL. A COUNTER IS PLACED ON IT AT THE NEXT MOVE.
60 REM EXAMPLE: ENTER PATTERN: ?. *** ?. * * ?.* *
70 KEY OFF
80 CLS
90 PRINT TAB(34);"LIFE":PRINT
100 PRINT TAB(28);"(CREATIVE COMPUTING)"
110 PRINT:PRINT:PRINT
120 PRINT "TO CREATE THE ORGANISM, TYPE IN A PATTERN OF `*' ON EACH LINE. TO ENTER LEADING BLANKS IN THE PATTERN, TYPE A `.' AT THE START OF EACH LINE. TYPE `DONE' WHEN FINISHED ENTERING THE PATTERN."
130 PRINT:PRINT
140 PRINT "ENTER YOUR PATTERN:"
150 X1=1:Y1=1:X2=24:Y2=70
160 DIM A(24,70),B$(24)
170 C=1
180 INPUT B$(C)
190 IF B$(C)="DONE" THEN B$(C)="":GOTO 230
200 IF LEFT$(B$(C),1)="." THEN B$(C)=" "+RIGHT$(B$(C),LEN(B$(C))-1)
210 C=C+1
220 GOTO 180
230 C=C-1:L=0
240 FOR X=1 TO C-1
250 IF LEN(B$(X))>L THEN L=LEN(B$(X))
260 NEXT X
270 X1=11-C/2
280 Y1=33-L/2
290 FOR X=1 TO C
300 FOR Y=1 TO LEN(B$(X))
310 IF MID$(B$(X),Y,1)<>" " THEN A(X1+X,Y1+Y)=1:P=P+1
320 NEXT Y
330 NEXT X
340 PRINT:PRINT:PRINT
350 PRINT "GENERATION:";G,"POPULATION:";P;:IF I9 THEN PRINT "INVALID";